package com.taotao.service.impl;

import java.util.Date;
import java.util.List;
import java.util.Map;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.taotao.common.JsonUtils;
import com.taotao.common.TaotaoResult;
import com.taotao.mapper.TbItemParamItemMapper;
import com.taotao.pojo.TbItemParamItem;
import com.taotao.pojo.TbItemParamItemExample;
import com.taotao.pojo.TbItemParamItemExample.Criteria;
import com.taotao.service.ItemParamItemService;
@Service
public class ItemParamItemServiceImpl implements ItemParamItemService{
	@Autowired
	private TbItemParamItemMapper itemParamItemMapper;
	@Override
	public TaotaoResult saveItemParamItem(String itemParam, Long itemId) {
		TbItemParamItem itemParamItem=new TbItemParamItem();
		itemParamItem.setItemId(itemId);
		itemParamItem.setParamData(itemParam);
		itemParamItem.setCreated(new Date());
		itemParamItem.setUpdated(new Date());
		itemParamItemMapper.insert(itemParamItem);
		return TaotaoResult.ok();
	}
	@Override
	public String getItemParamItemById(Long itemId) {
		TbItemParamItemExample itemParam=new TbItemParamItemExample();
		Criteria createCriteria = itemParam.createCriteria();
		createCriteria.andItemIdEqualTo(itemId);
		List<TbItemParamItem> selectByExample = itemParamItemMapper.selectByExampleWithBLOBs(itemParam);
		if(selectByExample!=null&&selectByExample.size()>0){
			TbItemParamItem itemParamItem=selectByExample.get(0);
			String paramData=itemParamItem.getParamData();
			//生成html
			// 把规格参数json数据转换成java对象
			List<Map> jsonList = JsonUtils.jsonToList(paramData, Map.class);
			StringBuffer sb = new StringBuffer();
			sb.append("<table cellpadding=\"0\" cellspacing=\"1\" width=\"100%\" border=\"0\" class=\"Ptable\">\n");
			sb.append("    <tbody>\n");
			for(Map m1:jsonList) {
				sb.append("        <tr>\n");
				sb.append("            <th class=\"tdTitle\" colspan=\"2\">"+m1.get("group")+"</th>\n");
				sb.append("        </tr>\n");
				List<Map> list2 = (List<Map>) m1.get("params");
				for(Map m2:list2) {
					sb.append("        <tr>\n");
					sb.append("            <td class=\"tdTitle\">"+m2.get("k")+"</td>\n");
					sb.append("            <td>"+m2.get("v")+"</td>\n");
					sb.append("        </tr>\n");
				}
			}
			sb.append("    </tbody>\n");
			sb.append("</table>");
			return sb.toString();

		}
		return "";
	}

}
